✒️ 2025-05-19 10:48 내용 수정
메뉴얼 출력
| 명령어 |
설명 |
|
man 명령어이름 |
|
명령어의 메뉴얼 출력 |
파일 및 디렉터리 생성 및 제거
| 명령어 |
옵션 |
설명 |
mkdir 폴더명 |
|
부모 디렉토리 생성 |
|
-m mode |
mode로 지정한 권한으로 디렉터리 생성 |
|
-p |
부모 디렉토리까지 생성 |
rmdir 폴더명 |
|
부모 디렉토리 제거 |
|
-p |
상위 경로가 비어있을 때만 상위 경로까지 제거 |
|
--verbose |
삭제 진행 상황을 표시 |
touch 파일명 |
|
파일 생성 |
|
.파일명 |
숨김 속성의 파일 생성 |
|
-a |
최근 파일 사용 시간만 업데이트 |
|
-c |
지정한 파일이 없어도 파일을 새로 작성하지 않음 |
|
-r 파일 |
파일의 최종 갱신일을 지정한 파일로 변경 |
|
-t 시간 |
파일의 최종 갱신일을 지정한 시간으로 변경 |
|
-m |
파일이 수정된 시간을 변경 |
| rm 파일명 |
|
파일 제거 |
|
-r |
디렉터리 제거 |
|
-f |
파일 강제 삭제 |
|
-d |
rmdir 대신 unlink와 함께 경로 삭제 |
|
-i |
삭제 여부를 확인 |
|
-v |
삭제할 파일의 정보를 출력 |
- 컴파일 : gcc -o 실행파일이름 컴파일할파일이름
- gcc는 root만 가능하다.
- 파이썬은 컴파일이 필요 없다.
파일 복사 및 변경
| 명령어 |
옵션 |
설명 |
mv 원본 바꿀이름/위치 |
|
파일이나 디렉터리를 이동시키거나, 이름을 바꾸거나, 덮어쓰기 |
|
-i |
같은 이름의 파일이 있다면 덮어 쓸건지 확인 |
|
-f |
강제로 덮어쓰기 |
|
-v |
이동 중에 원본 파일과 바꿀 파일을 표시 |
|
-b |
덮어쓰기할 때 백업 파일 작성, 파일이름 끝에 ~가 붙음 |
|
-u |
같은 이름의 파일이 있다면 원본 파일이 더 새로운 파일일 때만 이동 |
cp 원본 복사할파일/디렉터리 |
|
파일이나 디렉터리를 복사 |
|
-i |
같은 이름의 파일이 있을 경우 복사 여부 확인 |
|
-f |
같은 이름의 파일이 있어도 강제로 복사 |
|
-a |
원본 파일의 속성과 정보를 유지하여 복사 |
|
-b |
백업 파일 생성 |
|
-d |
심볼릭 링크와 하드링크를 그대로 링크 형태로 복사 |
|
-p |
원본 파일의 퍼미션, 시간등의 정보를 그대로 복사 |
|
-P |
원본 파일의 지정 경로 그대로 복사 |
|
-r |
원본이 파일이든 디렉터리든 경로 내 모든 파일과 디렉터리를 복사 |
|
-R |
원본이 디렉터리라면 하위 디렉터리 모두 복사 |
|
-u |
같은 이름의 파일이 존재할 경우 원본이 더 새로운 파일일 때만 복사 |
|
-v |
복사 과정을 상세히 나열 |
폴더 이동
| 명령어 |
옵션 |
설명 |
| cd 폴더명 |
|
부모 디렉터리로 이동 |
|
. |
현재 위치 |
|
.. |
현재 위치의 상위 디렉터리 |
|
~ |
현재 계정의 홈 디렉터리로 이동 |
|
/ |
root 디렉터리로 이동 |
|
$ |
변수 이름에 지정된 디렉터리로 이동 |
| pwd |
|
현재 사용 중인 위치 정보 |
| tty |
|
현재 로그인되어 있는 터미널 장치 이름 확인 |
파일 검색
| 명령어 |
옵션 |
설명 |
| grep 찾을내용 찾을위치 |
|
파일이나 디렉터리를 검색 |
|
-A 숫자 |
지정한 수의 줄만큼 일치하는 줄의 아래 내용 표시 |
|
-b |
각 줄의 일치 결과를 표시하기 전 입력 파일의 byte-offset 표시 |
|
-c |
일치하는 라인 수 표시 |
|
-C 숫자 |
지정한 수의 줄 만큼 일치하는 줄의 위와 아래 내용 표시 |
|
-e 패턴 |
지정한 패턴으로 탐색 |
|
-f 파일 |
검색 패턴을 지정한 파일 목록에서 가져옴 |
|
-h |
검색 결과 목록에서 파일명은 제외 |
|
-i |
검색 시 대소문자 구분 없음 |
|
-n |
일치하는 라인의 결과와 파일에서의 라인의 라인 번호도 표시 |
|
-q |
검색 결과를 표시하지 않음 |
|
-r |
각 디렉터리의 하위 디렉터리도 탐색 |
|
-s |
검색 시 에러를 표시하지 않음 |
|
-v |
지정한 검색 패턴과 일치하지 않는 것을 표시 |
|
-w |
한 단어와 일치하는 경우만 표시 |
|
-d read |
디렉터리를 일반 파일처럼 읽고 탐색 |
|
-d skip |
디렉터리를 넘김 |
|
-d recurse |
디렉터리 아래의 모든 파일을 읽음 |
| find symboliclink 경로 표현식 |
|
파일 및 디렉터리 검색 |
|
심볼릭 -P |
기본 옵션. symboliclink를 따라가지 않고 링크 자체 정보 사용 |
|
심볼릭 -L |
symboliclink에 연결된 파일의 정보를 사용 |
|
심볼릭 -H |
symboliclink를 따라가지 않지만 명령문 argument를 사용 시엔 따라감. |
|
-name 이름 |
해당 이름의 파일을 검색 |
|
-type 타입 |
해당 타입의 파일을 검색 |
|
-user 사용자 |
해당 사용자에게 속한 파일을 검색 |
|
-empty |
빈 디렉터리나 파일 크기가 0인 파일 검색 |
|
-delete 이름 |
검색한 파일이나 디렉터리를 삭제 |
|
-exec 명령문 |
검색한 파일을 해당 명령문으로 실행 |
|
-size 크기 |
해당 크기의 파일을 검색 |
|
-perm 퍼미션 |
해당 퍼미션을 가진 파일을 검색 |
|
-print |
검색 결과를 출력함 |
|
-atime [-/+]n |
n일 내에 접속한 파일(acess)을 검색 |
|
-mtime [-/+]n |
n일 이내에 수정된 파일(modify)을 검색 |
|
-ctime [-/+]n |
n일 이내에 생성된 파일(create)을 검색 |
- 파일 검색 후 명령 실행 : find 찾을위치 -name 파일이름 -exec 실행명령
- 모든 유저의 히스토리 파일 삭제 : find /home -name .bash_history -exec rm -f {} \;
파일 목록
ls는 파일, 디렉터리, 퍼미션, 특수 권한, 생성 날짜, 소유자, 그룹, 파일 크기 등을 확인할 수 있다.
| 명령어 |
설명 |
|
| ls |
|
파일과 디렉토리 목록 확인, 퍼미션 확인 가능 |
|
-a |
숨김 표시 파일까지 모두 확인 |
|
-d |
디렉터리 경로 안의 내용을 나열하지 않고 표시 |
|
-l |
파일 형태, 사용 권한, 최종 갱신일, 소유자 등을 함께 표시 |
|
-n |
UID, GID를 사용하여 정렬 |
|
-t |
파일을 최근 변경한 순서대로 표시 |
|
-f, -U |
디스크에 저장된 순서대로 표시 |
|
-h |
파일 크기에 맞춰 사람이 읽기 쉽게 표시 |
|
-k |
파일을 KB 단위로 표시 |
|
-s |
파일을 1KB 단위로 표시 |
|
-u |
파일을 사용 순서대로 표시 |
|
-x |
가로로 정렬 |
|
-r |
내림차순으로 표시 |
|
-A |
경로 내의 모든 파일 표시 |
|
-C |
세로로 정렬 |
|
-F |
분류 기호를 추가해서 표시 |
|
-G |
그룹 정보를 제외하고 표시 |
|
-R |
서브 디렉터리 안에 있는 파일과 디렉터리도 모두 표시 |
|
-S |
큰 파일 순서대로 표시 |
|
-1 |
한 줄에 한 파일씩 표시 |
|
--full-time |
파일 변경 시간을 자세하게 표시 |
-rw-r--r-- 1 user1 root 0 12월 7 13:18 1.txt

| 파일속성 |
사용자 권한 |
그룹 권한 |
다른 사용자 권한 |
링크 수 |
소유자 |
그룹 |
파일 크기 |
작성일 |
시간 |
파일명 |
| 파일 |
rw |
r |
r |
1 |
user1 |
root |
0 |
12월 7 |
13:18 |
1.txt |
ls로 확인 가능한 파일 및 디렉터리 분류 기호
| 분류기호 |
설명 |
| / |
디렉터리 |
| @ |
심볼릭 링크 |
| * |
실행 가능 파일 |
파일 내용 출력
cat, head, tail, less, more
| 명령어 |
옵션 |
설명 |
| cat |
|
파일의 전체 내용을 읽어들인 후 출력, 파일 내용이 너무 길면 뒷부분만 나옴 |
|
-n |
파일을 읽을 때 라인 번호 출력 |
|
-b |
공백을 제외한 내용을 라인 번호 포함 출력 |
|
-E |
줄이 끝나는 표시로 $를 추가하여 출력 |
|
-A |
모든 제어 문자를 포함하여 출력 |
| tac |
|
파일의 전체 내용을 읽어들인 후 거꾸로 출력 |
|
-n |
파일을 읽을 때 라인 번호 출력 |
| head |
|
파일의 맨 앞에서 10줄만 출력 |
|
-숫자 또는 -n 숫자 |
라인을 입력받은 숫자만큼 출력 |
|
-c 용량 |
원하는 출력 용량을 선택. size=b, k, m으로 지정 |
|
-q |
출력 시 파일 이름 생략 |
|
-v |
출력 시 파일 이름 포함 |
| tail |
|
파일의 맨 뒤에서 10줄만 출력 |
|
-숫자 또는 -n 숫자 |
라인을 입력받은 숫자만큼 출력 |
|
-c 용량 |
원하는 출력 용량을 선택. size=b, k, m으로 지정 |
|
-f |
tail -f /var/log/secure에서 사용자 로그인 실시간으로 추적 |
|
-q |
출력 시 파일 이름 생략 |
|
-v |
출력 시 파일 이름 포함 |
| less |
|
head와 동일하지만 옵션이 다양하고, 페이지 단위 출력 |
|
b |
이전페이지 |
|
spcae bar |
다음 페이지 |
|
enter |
한줄씩 넘어감 |
| more |
|
파일을 페이지 단위로 끊어서 출력 |
|
b |
이전페이지 |
|
spcae bar |
다음 페이지 |
|
enter |
한줄씩 넘어감 |
- 파일 생성 가능 : cat + 리다이렉션기호 파일명
$cat > 파일명
내용1
내용2
ctrl + d //(입력완료선언)
리다이렉션
| 기호 |
설명 |
| > |
출력, 덮어쓰기 |
| >> |
출력, 붙여쓰기 |
| < |
입력 |
| << |
|
- ex) ifconfig > ip.txt
- ifconfig 출력 내용을 ip.txt에 저장
- ex) grep user /etc/passwd >> ip.txt
- 유저 정보를 지정한 파일에서 찾아서 ip.txt. 파일에 마지막 줄에 붙여쓰기
- ex) ifconfig < b.sh
- 네트워크 정보를 b.sh 파일로 가져와서 실행(b.sh에서 ifconfig가 실행)
파일 정보 출력과 파일 비교
| 명령어 |
옵션 |
설명 |
| wc 파일명 |
|
파일의 라인 수, 단어 수, 바이트 수, 이름 출력 |
| cmp 파일1 파일2 |
|
파일1과 파일2을 비교해서 파일이 다르면 바이트, 라인 위치를 알려줌 |
| diff 파일1 파일2 |
|
파일1과 파일2을 비교해서 화면에 라인위치c문자위치, 줄로 알려줌 |
